﻿Option Explicit On ' Make sure all items are explicitly declared
Option Strict On ' Be Very Strict about things here!
Namespace ZuneCardr
    ''' <summary>ZuneColours</summary>
    ''' <author>Comentsys</author>
    ''' <version>1.0.0</version>
    ''' <created>21st February 2009</created>
    ''' <modified>23rd February 2009</modified>
    ''' <remarks>Zune Colours</remarks>
    Public NotInheritable Class Colours
        ''' <summary>SystemColours</summary>
        ''' <param name="Source">Dictionary Source</param>
        ''' <remarks>Adds System Colours to a Dictionary</remarks>
        Public Shared Sub SystemColours(ByVal Source As Dictionary(Of String, Color))
            Dim Colours() As System.Reflection.PropertyInfo = GetType(Colors).GetProperties
            For Each Item As System.Reflection.PropertyInfo In Colours
                Source.Add(Item.Name, DirectCast(ColorConverter.ConvertFromString(Item.Name), Color))
            Next
        End Sub

        ''' <summary>Zune</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>Zune Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function Zune(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _Zune As New Dictionary(Of String, Color)
            _Zune.Clear()
            ' Classic Colours
            _Zune.Add("Current", Current)
            _Zune.Add("BrownClassic", Color.FromRgb(68, 48, 22))
            _Zune.Add("WhiteClassic", Colors.White)
            _Zune.Add("BlackClassic", Color.FromRgb(16, 24, 22))
            _Zune.Add("HaloClassic", Color.FromRgb(70, 90, 90))
            _Zune.Add("RedClassic", Color.FromRgb(234, 48, 104))
            _Zune.Add("PinkClassic", Color.FromRgb(228, 168, 218))
            _Zune.Add("MagentaClassic", Color.FromRgb(230, 62, 100))
            _Zune.Add("BlueClassic", Color.FromRgb(14, 84, 150))
            _Zune.Add("OrangeClassic", Color.FromRgb(246, 116, 0))
            ' New Colours
            _Zune.Add("BlackZune", Color.FromRgb(28, 28, 28))
            _Zune.Add("RedZune", Color.FromRgb(132, 20, 44))
            _Zune.Add("GreenZune", Color.FromRgb(140, 132, 66))
            _Zune.Add("BlueZune", Color.FromRgb(2, 70, 130))
            _Zune.Add("PinkZune", Color.FromRgb(246, 164, 196))
            _Zune.Add("CitronZune", Color.FromRgb(210, 198, 6))
            _Zune.Add("WhiteZune", Color.FromRgb(236, 236, 236))
            SystemColours(_Zune) ' System Colours
            Return _Zune
        End Function

        ''' <summary>GradientStart</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>GradientStart Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function GradientStart(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _GradientStart As New Dictionary(Of String, Color)
            _GradientStart.Clear()
            _GradientStart.Add("Current", Current)
            _GradientStart.Add("ClassicStart", Color.FromRgb(216, 144, 56))
            _GradientStart.Add("ZuneStart", Color.FromRgb(255, 102, 0))
            _GradientStart.Add("GoldStart", Color.FromRgb(255, 253, 228))
            _GradientStart.Add("SilverStart", Colors.White)
            _GradientStart.Add("CoolStart", Color.FromArgb(155, 128, 158, 230)) ' CESPage
            SystemColours(_GradientStart) ' System Colours
            Return _GradientStart
        End Function

        ''' <summary>GradientEnd</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>Gradient End Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function GradientEnd(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _GradientEnd As New Dictionary(Of String, Color)
            _GradientEnd.Clear()
            _GradientEnd.Add("Current", Current)
            _GradientEnd.Add("ClassicEnd", Color.FromRgb(120, 120, 128))
            _GradientEnd.Add("ZuneEnd", Color.FromRgb(255, 1, 154))
            _GradientEnd.Add("GoldEnd", Color.FromRgb(255, 216, 54))
            _GradientEnd.Add("SilverEnd", Color.FromRgb(210, 210, 210))
            _GradientEnd.Add("CoolEnd", Color.FromArgb(155, 94, 136, 224)) ' CESPage
            SystemColours(_GradientEnd) ' System Colours
            Return _GradientEnd
        End Function

        ''' <summary>Foreground</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>Foreground Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function Foreground(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _Foreground As New Dictionary(Of String, Color)
            _Foreground.Add("Current", Current)
            _Foreground.Add("SmallForeground", Color.FromRgb(77, 52, 23))
            _Foreground.Add("ZuneForeground", Color.FromRgb(88, 88, 88))
            SystemColours(_Foreground) ' System Colours
            Return _Foreground
        End Function

        ''' <summary>Background</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>Background Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function Background(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _Background As New Dictionary(Of String, Color)
            _Background.Add("Current", Current)
            _Background.Add("ClassicBackground", Color.FromRgb(77, 52, 23))
            _Background.Add("GamerBackground", Color.FromRgb(81, 81, 81))
            SystemColours(_Background) ' System Colours
            Return _Background
        End Function

        ''' <summary>Border</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>Border Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function Border(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _Border As New Dictionary(Of String, Color)
            _Border.Clear()
            _Border.Add("Current", Current)
            _Border.Add("ClassicBorder", Color.FromRgb(127, 127, 127))
            _Border.Add("ZuneBorder", Color.FromRgb(216, 216, 216))
            _Border.Add("GamerBorder", Color.FromRgb(174, 174, 174))
            _Border.Add("CoolBorder", Color.FromRgb(90, 126, 220))
            SystemColours(_Border) ' System Colours
            Return _Border
        End Function

        ''' <summary>SectionForeground</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>SectionForeground Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function SectionForeground(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _SectionForeground As New Dictionary(Of String, Color)
            _SectionForeground.Add("Current", Current)
            SystemColours(_SectionForeground) ' System Colours
            Return _SectionForeground
        End Function

        ''' <summary>SectionBackground</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>SectionBackground Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function SectionBackground(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _SectionBackground As New Dictionary(Of String, Color)
            _SectionBackground.Add("Current", Current)
            _SectionBackground.Add("ClassicSection", Color.FromArgb(200, 136, 126, 146))
            _SectionBackground.Add("CardSection", Color.FromArgb(200, 228, 228, 228))
            _SectionBackground.Add("ZuneSection", Color.FromArgb(200, 157, 157, 157))
            _SectionBackground.Add("GamerSection", Color.FromArgb(200, 117, 117, 117))
            _SectionBackground.Add("CoolSection", Color.FromArgb(200, 210, 228, 242))
            SystemColours(_SectionBackground) ' System Colours
            Return _SectionBackground
        End Function

        ''' <summary>ItemForeground</summary>
        ''' <param name="Current">Current Colour</param>
        ''' <returns>ItemForeground Colours</returns>
        ''' <remarks>Contains System Colours</remarks>
        Public Shared Function ItemForeground(ByVal Current As Color) As Dictionary(Of String, Color)
            Dim _ItemForeground As New Dictionary(Of String, Color)
            _ItemForeground.Add("Current", Current)
            _ItemForeground.Add("ClassicItem", Color.FromRgb(220, 126, 46))
            _ItemForeground.Add("ZuneItem", Color.FromRgb(255, 1, 154))
            _ItemForeground.Add("GamerItem", Color.FromRgb(55, 55, 55))
            _ItemForeground.Add("CoolItem", Color.FromRgb(90, 126, 226))
            SystemColours(_ItemForeground) ' System Colours
            Return _ItemForeground
        End Function

    End Class
End Namespace
